]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Add ClutterFrame arguments to after-paint signal handlers
authorJonas Dreßler <verdre@v0yd.nl>
Wed, 8 Feb 2023 15:42:18 +0000 (16:42 +0100)
committerMarge Bot <marge-bot@gnome.org>
Wed, 8 Feb 2023 16:27:48 +0000 (16:27 +0000)
The ClutterFrame argument was added to several signals with mutter commit
08b0e563d4d0088e19d24f3199626a2d27349d09. We have a bunch of after-paint
handlers in gnome-shell too, and updating those was apparently forgotten,
introducing subtle memory corruption that was luckily easy to track down by
running gnome-shell with ASAN enabled. Let's fix that and add the additional
argument to all the signal handlers.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2629>

src/shell-global.c
src/shell-screenshot.c

index 0c48e000418f0d3ff5ff9db631241e63e2976de0..08b8a63e5bbe0134b63da66fe4d527ec6d380437 100644 (file)
@@ -971,6 +971,7 @@ load_gl_symbol (const char  *name,
 static void
 global_stage_after_paint (ClutterStage     *stage,
                           ClutterStageView *stage_view,
+                          ClutterFrame     *frame,
                           ShellGlobal      *global)
 {
   /* At this point, we've finished all layout and painting, but haven't
index f7132eee8e9fb2fab7bce5dcfefd51c1ad7dacba..99083ffb264b9718b43bfee59774b9ad9815678d 100644 (file)
@@ -493,6 +493,7 @@ finish_screenshot (ShellScreenshot        *screenshot,
 static void
 on_after_paint (ClutterStage     *stage,
                 ClutterStageView *view,
+                ClutterFrame     *frame,
                 GTask            *result)
 {
   ShellScreenshot *screenshot = g_task_get_task_data (result);
@@ -628,6 +629,7 @@ shell_screenshot_screenshot_finish (ShellScreenshot        *screenshot,
 static void
 screenshot_stage_to_content_on_after_paint (ClutterStage     *stage,
                                             ClutterStageView *view,
+                                            ClutterFrame     *frame,
                                             GTask            *result)
 {
   ShellScreenshot *screenshot = g_task_get_task_data (result);